package com.carrental.vehicle.vo;

import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 车辆使用详情VO
 */
@Data
public class VehicleUsageDetailVO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 车辆ID
     */
    private Long vehicleId;
    
    /**
     * 车牌号
     */
    private String licensePlate;
    
    /**
     * 车辆名称
     */
    private String vehicleName;
    
    /**
     * 品牌名称
     */
    private String brandName;
    
    /**
     * 租赁次数
     */
    private Integer rentalCount;
    
    /**
     * 总使用时长(天)
     */
    private Integer totalDuration;
    
    /**
     * 总行驶里程(公里)
     */
    private Double totalMileage;
    
    /**
     * 租赁记录列表
     */
    private List<RentalRecordVO> rentalRecords;
    
    /**
     * 使用趋势数据
     */
    private List<Map<String, Object>> trendData;
    
    /**
     * 租赁记录VO
     */
    @Data
    public static class RentalRecordVO implements Serializable {
        
        private static final long serialVersionUID = 1L;
        
        /**
         * 订单号
         */
        private String orderId;
        
        /**
         * 租客姓名
         */
        private String customerName;
        
        /**
         * 开始时间
         */
        private String startTime;
        
        /**
         * 结束时间
         */
        private String endTime;
        
        /**
         * 租期(天)
         */
        private Integer duration;
        
        /**
         * 行驶里程(公里)
         */
        private Double mileage;
        
        /**
         * 日均里程(公里)
         */
        private Double dailyMileage;
        
        /**
         * 是否异常
         */
        private Boolean isAbnormal;
    }
} 